package com.lyy.service;

import com.lyy.entity.param.CartInsertParam;

import java.util.List;

/**
 * @author Liangyaoyun
 */
public interface CartService {
    /**
     * 向Redis中添加一条购物车记录，重复添加视为修改
     *
     * @param cartInsertParam 添加购物车Param实体类
     */
    void insert(CartInsertParam cartInsertParam);

    /**
     * 在Redis中，按 [用户表主键] 查询该用户的全部的 [购物车] 记录
     *
     * @param userId 用户表主键
     * @return 该用户的全部的购物车记录
     */
    List<CartInsertParam> selectByUserId(Integer userId);

    /**
     * 在Redis中,按用户主键和视频主键数组删除该用户的购物车记录
     *
     * @Param userId 用户主键
     * @Param videoIds 视频主键数组
     *
     */
    void batchDelete(Integer userId,Integer[] videoIds);

    /**
     * 清空用户的全部购物车记录
     *
     * @Param userId 用户主键
     */
    void deleteByUserId(Integer userId);
}
